package com.ph.shopping.facade.mapper;

import com.ph.shopping.common.core.base.BaseMapper;
import com.ph.shopping.facade.permission.entity.UserRole;
import com.ph.shopping.facade.permission.vo.SessionRoleVo;

import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @项目：phshopping-service-permission
 * @描述：
 * @作者： Mr.zheng
 * @创建时间：2017-03-14
 * @Copyright @2017 by Mr.zheng
 */
public interface UserRoleMapper extends BaseMapper<UserRole> {
    /**
     * 通过用户id删除用户角色关系
     * @param userID
     * @return
     */
    int deleteRoleByUserID(@Param("userID") Long userID);

    /**
     * 通过用户id查询用户对应的角色id
     * @param userID
     * @return
     */
    List<Long> selectUserRoleByUserID(@Param("userID") Long userID);

    /**
     * 给用户赋予角色
     * @param userID
     * @param roleIDs
     * @return
     */
    int insertUserRole(@Param("userID") Long userID, @Param("roleIDs") List<Long> roleIDs);
    
    /**
     * 通过用户id查询role实体
     * @param userID
     * @return
     */
    List<SessionRoleVo> selectRoleVoByUserID(@Param("userID") Long userID);
    
    /**
     * 新增用户对应的角色
     * @param userRole
     * @return
     */
    int inserUserRole(UserRole userRole);

    /**
     * 查询角色用户
     * @param userRole
     * @return
     */
    List<UserRole> selectUserRole(UserRole userRole);
}
